home *** CD-ROM | disk | FTP | other *** search
- Path: mail2news.demon.co.uk!genesis.demon.co.uk
- From: Lawrence Kirby <fred@genesis.demon.co.uk>
- Newsgroups: comp.lang.c
- Subject: Re: Schildt <- Advanced Books
- Date: Thu, 18 Apr 96 00:06:11 GMT
- Organization: none
- Distribution: world
- Message-ID: <829785971snz@genesis.demon.co.uk>
- References: <8BEB557.02C7003127.uuout@sourcebbs.com>
- Reply-To: fred@genesis.demon.co.uk
- X-NNTP-Posting-Host: genesis.demon.co.uk
- X-Newsreader: Demon Internet Simple News v1.27
- X-Mail2News-Path: genesis.demon.co.uk
-
- In article <8BEB557.02C7003127.uuout@sourcebbs.com>
- david.mohorn@sourcebbs.com "DAVID MOHORN" writes:
-
- >This message was from DAVID MOHORN to ALL
- >and was forwarded to you by DAVID MOHORN
- > ----------------------------------------
- >M>: Oh, C'mon guy! Aren't you being a bit tough on Schildt?
-
- No. Schildt may be good at writing books but all the ones he has written
- to date about C show an extremely poor understanding of the language - he
- is just not competent to write about C.
-
- >M>The rather tedious nonsense about the void main() declaration is being
- > >blown out of all proportion. First of all, Schildt uses
-
- That's a classic example but is just one of many, many errors and
- misconceptions in his C books.
-
- >M> main() {
- >M> }
- >
- >M>as the declaration in 99.99% of all books I've seen. The other 1% has
- > >arguements. He must have used void main() in the Annotated Standard
- > >since people discuss it so much. If so (I haven't read the book),
- > >it is very unusual for him.
-
- Yes, he uses it in the Annotated ANSI C standard, right opposite the page
- of the standard that makes it undefined. It is also used extensively in
- "C the Complete Reference" (2nd edition at least).
-
- >The only book that I know of that uses the notorious void main(void) is
- >his "Teach Yourself C" book. But he only uses this for the first half
- >of the book. This is only because he doesn't want the reader to be
- >overwhelmed with all the data types and other things until he has a
- >chance to explain how functions return values and pass arguments.
-
- Which of course is an argument against void main(void). If he wanted to
- avoid explicit types he could have written the well-defined:
-
- main()
- {
- }
-
- Instead he writes illegal code in addition to introducing one of the
- stranger types that C has.
-
- People are perfectly capable of taking things on trust until they
- are explained later. That happens very naturally if the explanation fits
- the pattern of what they encountered earlier. It is much less confusing
- to have an explanation that reinforces your understanding of something
- rather than contradicts it. That is why a book should never teach bad code.
-
- If somebody is flicking through the book for reference they would see
- void main() as an example and reasonably assume that it is well-defined.
- The number of times void main() is posted to comp.lang.c is testimony to
- that (although I don't blame Schildt for all of those; some of them
- certainly).
-
- >I haven't read the "Annotated Standard" book either.
-
- It's a good laugh! :-) However it does contain the text of the standard
- so is useful if you ignore the annotations.
-
- >M>: I mean, I
- > >: think he writes the best books--they are easy-to-read, give good
- > >: explanations, and presents everything in a well-to-do organized manner.
-
- Which are worse than useless when many of the explanations and examples are
- factually incorrect or misleading.
-
- >M>I agree. The use of the Mastery Learning Theory in the Teach Yourself
- > >C and C++ books is perfect for C.
-
- Schildt describes a language, but it is not C.
-
- >I agree!
- >
- >M>: Turbo C/C++: The Complete Reference
- >
- >M>I love this book, I've practically worn it out. It has about 95% of
- > >all the material Schildt has ever written on C and C++.
-
- Rebublishing the same text under different titles is a rather shady
- practice unless the book covers make this clear.
-
- >I think it is a great reference!!! Now if Schildt will just write a
- >"Teach Yourself Assembler" book that blows Mark Goodwin's book away.
- >This book really stunk. It was nothing more than the User Guide that
- >comes with the Assembler. YUCK!
- >
- >M>: And whoever said that Schildt may not know advanced topics,
- > >: that's purely nonsense. If anyone has ever read his Advance C book, he
- > >: definitely knows what he's doing.
-
- That's one I haven't seen. However it would have to be radically
- different from his other books on C to be any good. In the books I have
- seen it is his coverage of more advanced (language) topics that are his
- shakiest areas.
-
- >M>Born To Code In C develops a multi-threaded program! That's
- > >as advanced as you can get. In DOS, way before multi-threaded OSes
- > >like NT and OSF/1 came out.
-
- Schildt clearly has talent, and knowledge of some topics, however he should
- stick to the topics he knows well when publishing books (and he should
- get an independent opinion of what those topics are).
-
- >I agree.
-
- :-)
-
- I'll stress again that I'm only commenting on Schildt's books about C.
- Given a subject he understands he could write an excellent book (and
- probably already has).
-
- --
- -----------------------------------------
- Lawrence Kirby | fred@genesis.demon.co.uk
- Wilts, England | 70734.126@compuserve.com
- -----------------------------------------
-